package com.lzs.esubscribe.mapper;

import com.lzs.esubscribe.dto.LoginDTO;
import com.lzs.esubscribe.dto.ModifyPasswordDTO;
import com.lzs.esubscribe.dto.RegisterDTO;
import com.lzs.esubscribe.entity.ESUser;
import org.mapstruct.Mapper;

import java.util.Map;

/**
 * 用户
 *
 * @author : lzs
 * @Date : 2022-03-17
 * @Description :mapper层接口
 */
@Mapper
public interface UserMapper {
    /**
     * 用户注册
     * @param postMap
     * @return
     */
    int register(Map<String,Object> postMap);

    /**
     * 检验用户名重复
     * @param postMap
     * @return
     */
    int checkUserExist(Map<String,Object> postMap);

    /**
     * 检验用户uuid正确
     * @param postMap
     * @return
     */
    int checkUserUuidExist(String uuid);

    /**
     * 用户登录
     * @param loginDTO
     * @return
     */
    ESUser login(LoginDTO loginDTO);

    /**
     * 登录时间
     * @param updateMap
     * @return
     */
    int updateLoginInfo(Map<String,Object> updateMap);

    /**
     * 更新收藏数
     * @param uuid
     * @return
     */
    int updateSubscribeInfo(String uuid);

    /**
     * 修改用户密码
     * @param uuid
     * @return
     */
    int modifyPassword(ModifyPasswordDTO modifyPasswordDTO);

    /**
     * 检查旧密码正确性
     * @param uuid
     * @return
     */
    int checkOldPassword(ModifyPasswordDTO modifyPasswordDTO);
}
